
package w83a.w83aUtilidadesComunes;


import java.util.ArrayList;
import java.util.Iterator;

import java.util.Date;


public class W83ASolicitudPreaviso implements java.io.Serializable{

	private static final long serialVersionUID = 1L;

	//Todos los docs adjuntados

	
	private String emailAviso;
	
	private String provinciaEs;
	
	private String provinciaEu;
	
	private String CIFNIFPromotor;
	
	private String nombrePromotor;
	
	// datos cabecera
	
	private String territorioCabecera ;

	private String sindicato;

	private String correlativoFichero;

	private String fechaCreacion;
	
	//Detalle de Preavisos
		
    private ArrayList listaPreavisos;
	
	// datos control
	
	private String numeroPreavisos;

	private String totalCentrosAfectados ;

	private String totalNumeroTrabajadores;
	
	private String idioma;
	
	public W83ASolicitudPreaviso(){
		
	}
	
	//public int extraerInformacion (String textoPlano, String rolUsuario, String territorioUsuario) throws W83aException{
		public int extraerInformacion (String textoPlano, String territorioUsuario) throws W83aException{

			W83aClsTrazas.trazaError(null, " +++++ EN  extraerInformacion de W83ASolicitudPreaviso +++++",new Exception());//NOPMD
			
			
		int aux=0,totalCentros=0,totalPreavisos=0,totalTrabajadores=0;
		Date aux1=null;
		/*if((textoPlano.length()-(TAMAINO_CABECERA+TAMAINO_CONTROL))%W83ASolicitudPreavisoDetalles.TAMAÑO_DETALLE!=0){
			//throw new W83aException("preaviso.error.errorLongitud");
			return 2;
		}*/
		inicio[0]=0;
		for (int i=1; i<NUMEROPOSICIONES;i++){inicio[i]=inicio[i-1]+longitud[i-1];}
		int i=1;
		
		if (!textoPlano.substring(0,1).equals(REGISTRO_CABECERA)){
        	//throw new W83aException("preaviso.error.identificadorRegistro");
			return 2;
        }
		
		
		
		this.territorioCabecera=textoPlano.substring(inicio[i],inicio[i]+longitud[i]);
		
		W83aClsTrazas.trazaError(null, " +++++ this.territorioCabecera: " + this.territorioCabecera,new Exception());//NOPMD
		
		this.setTerritorioCabecera(textoPlano.substring(inicio[i],inicio[i]+longitud[i]));

		i++;
		
		try{
			aux=Integer.parseInt(W83AStringUtil.eliminarblancos(this.territorioCabecera));

		}catch (NumberFormatException e){
			return 2;
			//throw new W83aException("preaviso.error.territorioCabecera");
		}
//		comprobamos que el territorio del preaviso es el mismo que el del usuario solo si el usuario no es Administrador
		//if(!rolUsuario.equals(W83aClsConstantes.ADMINISTRADOR))
		//{
			if(Integer.parseInt(territorioUsuario)!=Integer.parseInt(this.territorioCabecera))
			{
				//throw new W83aException("preaviso.error.territorioSindicato");
				return 2;
			}
		//}
		
        this.sindicato=textoPlano.substring(inicio[i],inicio[i]+longitud[i]);i++;
        W83aClsTrazas.trazaError(null, " +++++ this.sindicato: " + this.sindicato,new Exception());//NOPMD
        try{
			aux=Integer.parseInt(W83AStringUtil.eliminarblancos(this.sindicato));
			
		}catch (NumberFormatException e){
			
			//throw new W83aException("preaviso.error.sindicato");
			return 2;
		}
		
        this.correlativoFichero=textoPlano.substring(inicio[i],inicio[i]+longitud[i]);i++;
        W83aClsTrazas.trazaError(null, " +++++ this.correlativoFichero: " + this.correlativoFichero,new Exception());//NOPMD
        
        try{
			aux=Integer.parseInt(W83AStringUtil.eliminarblancos(this.correlativoFichero));
			
		}catch (NumberFormatException e){
			return 2;
			//throw new W83aException("preaviso.error.correlativoFichero");
		}
        this.fechaCreacion=textoPlano.substring(inicio[i],inicio[i]+longitud[i]);i++;
        W83aClsTrazas.trazaError(null, " +++++ this.fechaCreacion: " + this.fechaCreacion,new Exception());//NOPMD
        
        try{
        	if (W83AStringUtil.eliminarblancos(fechaCreacion).length()!=0)
        	{
        		aux1=W83ADateUtils.getDate(this.fechaCreacion, "yyyMMdd");
        		if(aux1 != null){aux1=null;}
        	}
        	else
        	{
        		fechaCreacion=null;
        	}
		}catch (Exception e){
			return 2;
			//throw new W83aException("preaviso.error.fechaCreacion");
		}
       //discrimino el salto de linea
        int r=0;
        i+=2;
        this.listaPreavisos = new ArrayList();
        if (!textoPlano.substring(inicio[i],inicio[i]+longitud[i]).equals(REGISTRO_DETALLE)){
        	//throw new W83aException("preaviso.error.identificadorRegistro");
        	return 2;
        }
        
        while (textoPlano.substring(inicio[i],inicio[i]+longitud[i]).equals(REGISTRO_DETALLE)){
        	
        	this.listaPreavisos.add(new W83ASolicitudPreavisoDetalles());//NOPMD
        	((W83ASolicitudPreavisoDetalles)this.listaPreavisos.get(r)).extraerInformacion(textoPlano.substring(inicio[i],inicio[i]+W83ASolicitudPreavisoDetalles.TAMAÑO_DETALLE),this.territorioCabecera);
        	if (((W83ASolicitudPreavisoDetalles)this.listaPreavisos.get(r)).getNumeroCentrosAfectados()!=null){
        		totalCentros+=Integer.parseInt(W83AStringUtil.eliminarblancos(((W83ASolicitudPreavisoDetalles)this.listaPreavisos.get(r)).getNumeroCentrosAfectados()));
        	}
        	totalPreavisos++;
        	if (((W83ASolicitudPreavisoDetalles)this.listaPreavisos.get(r)).getNumeroTrabajadores()!=null){
        		totalTrabajadores+=Integer.parseInt(W83AStringUtil.eliminarblancos(((W83ASolicitudPreavisoDetalles)this.listaPreavisos.get(r)).getNumeroTrabajadores()));
        	}
        	actualizarlogitudes();
        	r++;
        }
        //discrimino el identificador de registro de control
        
        if (!textoPlano.substring(inicio[i],inicio[i]+1).equals(REGISTRO_CONTROL)){
        	//throw new W83aException("preaviso.error.identificadorRegistro");
        	return 2;
        }
        
        i++;

    	this.numeroPreavisos =textoPlano.substring(inicio[i],inicio[i]+longitud[i]);i++;
    	W83aClsTrazas.trazaError(null, " +++++ this.numeroPreavisos: " + this.numeroPreavisos,new Exception());//NOPMD
    	
    	try{
			aux=Integer.parseInt(W83AStringUtil.eliminarblancos(this.numeroPreavisos));
			if (aux!=totalPreavisos){
				//throw new W83aException("preaviso.error.numeroPreavisos");
				return 2;
			}
			
		}catch (NumberFormatException e){
			return 2;
			//throw new W83aException("preaviso.error.numeroPreavisosFormato");
		}
    	this.totalCentrosAfectados = textoPlano.substring(inicio[i],inicio[i]+longitud[i]);i++;
    	W83aClsTrazas.trazaError(null, " +++++ this.totalCentrosAfectados: " + this.totalCentrosAfectados,new Exception());//NOPMD
    	
    	try{
			aux=Integer.parseInt(W83AStringUtil.eliminarblancos(this.totalCentrosAfectados));
			if (aux!=totalCentros){
				//throw new W83aException("preaviso.error.totalCentrosAfectados");
				return 2;
			}
		}catch (NumberFormatException e){
			return 2;
			//throw new W83aException("preaviso.error.totalCentrosAfectadosFormato");
		}
    	this.totalNumeroTrabajadores =textoPlano.substring(inicio[i],inicio[i]+longitud[i]);i++;
    	W83aClsTrazas.trazaError(null, " +++++ this.totalNumeroTrabajadores: " + this.totalNumeroTrabajadores,new Exception());//NOPMD
    	
    	try{
			aux=Integer.parseInt(W83AStringUtil.eliminarblancos(this.totalNumeroTrabajadores));
			if (aux!=totalTrabajadores){
				//throw new W83aException("preaviso.error.totalNumeroTrabajadores");
				return 2;
			}
		}catch (NumberFormatException e){
			
			//throw new W83aException("preaviso.error.totalNumeroTrabajadoresFormato");
			return 2;
		}
	 return 1;	
	}
	
	public String convertiraString(){
		StringBuffer result=new StringBuffer("");
		
		result.append("1").append(territorioCabecera).append(sindicato).append(correlativoFichero);
		if (fechaCreacion==null ||fechaCreacion.equals("")){
			result.append("        ").append("\r\n");
		}else{
		result.append(fechaCreacion).append("\r\n");
		}
		Iterator alIt = listaPreavisos.iterator(); 
		while (alIt.hasNext()) 
		{result.append(((W83ASolicitudPreavisoDetalles)alIt.next()).convertiraString()); } 
	
		
		result.append("3").append(numeroPreavisos).append(totalCentrosAfectados).append(totalNumeroTrabajadores);
		
		return result.toString();
	}
/*	
	public String toXML(String userSessionToken,
			W83AInformacionProcedimiento info, String ctxPresentacion) throws Exception {

		//15Junio
		//W83AInformacionProcedimiento info =
		//new W83AInformacionProcedimiento(userSessionToken);

		String idiomaApplicant="";
		if(ctxPresentacion!=null && !ctxPresentacion.equals(""))
		{
		    W83AXmlDocument xmlDocument = new W83AXmlDocument();
			try {
				xmlDocument.createFromUtf8StringText(ctxPresentacion);
			} catch (Exception e) {
				xmlDocument.createFromStringText(ctxPresentacion);
			}
			
			W83AXmlElement root = xmlDocument.getRootElement();
			idiomaApplicant=W83AUtilXml.getStringValue(root, "ApplicantInfo/language");
			
		}

		String addresseeBloque = this.getAdreesseBloque();

		String valueAviso = this.getValueAviso(addresseeBloque, "ejgvDoc");

		String valueNotif = this.getValueNotif(addresseeBloque, "ejgvDoc", userSessionToken);

		String promotorBloque = this.getPromotorBloque("ejgvDoc");

		String xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"
				+ "<ejgvDoc>" + "<header>" + "<type>APPLICATION</type>"
				+ "<version>0</version>" + "<flags>0</flags>" + "</header>"
				+ "<body>" + "<basicInfo>" +
				"<procedureID>" + info.getProcedureId() + "</procedureID>"
				+ "<procedureName>" + "<description>"
				+ "<language locale=\"es\">"
				+ info.getNombreProcedimiento("ES") + "</language>"
				+ "<language locale=\"eu\">"
				+ info.getNombreProcedimiento("EU") + "</language>"
				+ "</description>" + "</procedureName>" + "<departmentID>"
				+ info.getIdDepartamento() + "</departmentID>"
				+ "<managingUnitID>" + info.getIdOrganoGestor()
				+ "</managingUnitID>" + "<deliveryKey></deliveryKey>"
				+ "<departmentName>" + "<description>"
				+ "<language locale=\"eu\">" + info.getNombreDepartamento("EU")
				+ "</language>" + "<language locale=\"es\">"
				+ info.getNombreDepartamento("ES") + "</language>"
				+ "</description>" + "</departmentName>" + "<managingUnitName>"
				+ "<description>" + "<language locale=\"es\">"
				+ info.getNombreOrganoGestor("ES") + "</language>"
				+ "<language locale=\"eu\">" + info.getNombreOrganoGestor("EU")
				+ "</language>" + "</description>" + "</managingUnitName>"
				+ "</basicInfo>" 
				
				+ "<ApplicantInfo>" + "<persons>" + "<person>"
				+ "<holderShip>HOLDER</holderShip>" + //1.- titular,
													  // 2.-Representante,
													  // 3.-Interesado
				promotorBloque 
				+ "<contacts>" + ""
				+ "</contacts>" + "</person>"
				+ this.getPersonRepresentante("ejgvDoc") + "</persons>";
						
				if(ctxPresentacion==null || ctxPresentacion.equals(""))
				{
					xml+="<notification>" + valueNotif + "</notification>" +					
					"<notices>" + valueAviso + "</notices>" ;
				}
				if(ctxPresentacion==null || ctxPresentacion.equals(""))
				{
					xml+= "<language>"
//operezm					+ this.idiomaNotificacion + "</language>" 
					+ "es" + "</language>" 
					+ "</ApplicantInfo>";
				}
				else
				{
					xml+= "<language>"
//operezm					+ idiomaApplicant+ "</language>" 
					+ "es"+ "</language>" 
					+ "</ApplicantInfo>";
				}
				
				xml+= "\r\n<detailInfo>" + this.getDetailInfo() +				
				"\r\n</detailInfo>" + "</body>" + "</ejgvDoc>";

		return xml;
	}
*/
	public String getTxtPlano(String idioma) throws Exception {
		
		StringBuffer txtPlano = new StringBuffer(W83aClsConstantes.TRESCIENTOS);
		txtPlano.append("\r\n");
		String tit_datosCabecera=W83AI18n.getI18nProperty("w83ai18ntextos","documento.cabecera.datosCabecera", idioma);
		String tit_TerritorioCabecera=W83AI18n.getI18nProperty("w83ai18ntextos","documento.cabecera.TerritorioCabecera", idioma);
		String tit_sindicato=W83AI18n.getI18nProperty("w83ai18ntextos","documento.cabecera.sindicato", idioma);
		String tit_CorrelativoFichero=W83AI18n.getI18nProperty("w83ai18ntextos","documento.cabecera.CorrelativoFichero", idioma);
		String tit_FechaCreacion=W83AI18n.getI18nProperty("w83ai18ntextos","documento.cabecera.FechaCreacion", idioma);

			// datos control
		String tit_datosControl=W83AI18n.getI18nProperty("w83ai18ntextos","documento.cabecera.datosControl", idioma);		
		String tit_NumeroPreavisos=W83AI18n.getI18nProperty("w83ai18ntextos","documento.control.NumeroPreavisos", idioma);
		String tit_TotalCentrosAfectados=W83AI18n.getI18nProperty("w83ai18ntextos","documento.control.TotalCentrosAfectados", idioma);
		String tit_TotalNumeroTrabajadores=W83AI18n.getI18nProperty("w83ai18ntextos","documento.control.TotalNumeroTrabajadores", idioma);
		
/*	    String tit_datosCabecera="datosCabecera";
		String tit_TerritorioCabecera="TerritorioCabecera";
		String tit_sindicato="sindicato";
		String tit_CorrelativoFichero="CorrelativoFichero";
		String tit_FechaCreacion="FechaCreacion";
		// datos control
		String tit_datosControl="datosControl";		
		String tit_NumeroPreavisos="NumeroPreavisos";
		String tit_TotalCentrosAfectados="TotalCentrosAfectados";
		String tit_TotalNumeroTrabajadores="TotalNumeroTrabajadores";
*/		
		txtPlano.append(tit_datosCabecera).append("\r\n");
		txtPlano.append("-----------------------------").append("\r\n");
		txtPlano.append(tit_TerritorioCabecera).append(":").append(this.territorioCabecera).append("\r\n");
		txtPlano.append(tit_sindicato).append(":").append(this.sindicato).append("\r\n");
		txtPlano.append(tit_CorrelativoFichero).append(":").append(this.correlativoFichero).append("\r\n");
		
		if (this.fechaCreacion!=null){
		txtPlano.append(tit_FechaCreacion).append(":").append(this.fechaCreacion).append("\r\n");
		}else{
        txtPlano.append(tit_FechaCreacion).append(":               \r\n");
		}
		Iterator alIt = listaPreavisos.iterator(); 
		while (alIt.hasNext()) 
		{txtPlano.append(((W83ASolicitudPreavisoDetalles)alIt.next()).getTxtPlano(idioma)).append("\r\n"); } 
        
		txtPlano.append(tit_datosControl).append("\r\n");
		txtPlano.append("-----------------------------").append("\r\n");
		txtPlano.append(tit_NumeroPreavisos).append(":").append(this.numeroPreavisos).append("\r\n");
		txtPlano.append(tit_TotalCentrosAfectados).append(":").append(this.totalCentrosAfectados).append("\r\n");
		txtPlano.append(tit_TotalNumeroTrabajadores).append(":").append(this.totalNumeroTrabajadores).append("\r\n");

		return txtPlano.toString();
	}

	/*
	public String getXSL(String idioma,String ctxPresentacion) throws Q70GestorMensajesException,
			IllegalArgumentException {
		
		String cabeceraEs = "<h1><xsl:value-of select=\"//body/basicInfo/procedureName/description/language[@locale='es']\"/></h1>"
				+ "<h1><xsl:value-of select=\"//body/basicInfo/departmentName/description/language[@locale='es']\"/>. <xsl:value-of select=\"//body/basicInfo/managingUnitName/description/language[@locale='es']\"/></h1>";
		String cabeceraEu = "<h1><xsl:value-of select=\"//body/basicInfo/procedureName/description/language[@locale='eu']\"/></h1>"
				+ "<h1><xsl:value-of select=\"//body/basicInfo/departmentName/description/language[@locale='eu']\"/>. <xsl:value-of select=\"//body/basicInfo/managingUnitName/description/language[@locale='eu']\"/></h1>";
		String cabecera = (idioma.equals("es") ? cabeceraEs : cabeceraEu);

		String tit_datosCabecera=W83AI18n.getI18nProperty("w83ai18ntextos","documento.cabecera.datosCabecera", idioma);
		String tit_TerritorioCabecera=W83AI18n.getI18nProperty("w83ai18ntextos","documento.cabecera.TerritorioCabecera", idioma);
		String tit_sindicato=W83AI18n.getI18nProperty("w83ai18ntextos","documento.cabecera.sindicato", idioma);
		String tit_CorrelativoFichero=W83AI18n.getI18nProperty("w83ai18ntextos","documento.cabecera.CorrelativoFichero", idioma);
		String tit_FechaCreacion=W83AI18n.getI18nProperty("w83ai18ntextos","documento.cabecera.FechaCreacion", idioma);
	
				
				// datos control
		String tit_datosControl=W83AI18n.getI18nProperty("w83ai18ntextos","documento.cabecera.datosControl", idioma);		
		String tit_NumeroPreavisos=W83AI18n.getI18nProperty("w83ai18ntextos","documento.control.NumeroPreavisos", idioma);
		String tit_TotalCentrosAfectados=W83AI18n.getI18nProperty("w83ai18ntextos","documento.control.TotalCentrosAfectados", idioma);
		String tit_TotalNumeroTrabajadores=W83AI18n.getI18nProperty("w83ai18ntextos","documento.control.TotalNumeroTrabajadores", idioma);
	
	
		
		String xsl = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?> "
				+ "<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" >"
				+ "<xsl:template match=\"/\">"
				+ "<html>"
				+ "<head>"
				+ "<title><xsl:value-of select=\"//body/basicInfo/procedureName/description/language[@locale='es']\"/></title>"
				+ "<style type='text/css'>"
				+
				//" BODY {BORDER-RIGHT: medium none; PADDING-RIGHT: 10px;
				// BORDER-TOP: medium none; PADDING-LEFT: 10px; PADDING-BOTTOM:
				// 10px; MARGIN: 0px; FONT: 9px Verdana; BORDER-LEFT: medium
				// none; COLOR: #000000; PADDING-TOP: 10px; BORDER-BOTTOM:
				// medium none}" +
				"	A {COLOR: #1779ae; TEXT-DECORATION: none}"
				+ "	A:hover {TEXT-DECORATION: underline}"
				+ "	P {PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 15px; PADDING-BOTTOM: 0px; MARGIN: 8px; VERTICAL-ALIGN: bottom; PADDING-TOP: 0px}"
				+ "	H1 {PADDING-RIGHT: 6px; PADDING-LEFT: 6px; FONT-SIZE: 17px; PADDING-BOTTOM: 2px; MARGIN: 2px; COLOR: #1779ae; PADDING-TOP: 2px; weight: bold}"
				+ "	H2 {PADDING-RIGHT: 6px; PADDING-LEFT: 6px; FONT-SIZE: 12px; PADDING-BOTTOM: 2px; MARGIN: 2px; COLOR: #1779ae; PADDING-TOP: 2px}"
				+ "	H3 {PADDING-RIGHT: 4px; BACKGROUND-POSITION: 50% bottom; PADDING-LEFT: 4px; FONT-SIZE: 11px; BACKGROUND-IMAGE: url(../img/bckLinea.gif); PADDING-BOTTOM: 3px; MARGIN: 0px 0px 4px; COLOR: #1779ae; PADDING-TOP: 3px; BACKGROUND-REPEAT: repeat-x}"
				+ "	#toolkitN1 {BORDER-RIGHT: #ff0000 0px solid; PADDING-RIGHT: 2px; BORDER-TOP: #ff0000 0px solid; PADDING-LEFT: 2px; PADDING-BOTTOM: 8px; MARGIN: 0px; BORDER-LEFT: #ff0000 0px solid; COLOR: #666666; PADDING-TOP: 2px; BORDER-BOTTOM: #ff0000 0px solid}"
				+
				//tmp
				"	fieldset { margin: 0px 0px 0px 0px; padding: 0px; border: 0px solid #000; font-family: Verdana, Arial, Helvetica, sans-serif; }"
				+ "	.toolkitN1 { padding: 10px; margin: 0px 0px 10px 0px; border: 1px solid #ccc; height: auto; }"
				+

				"	#toolkitN1 TD {BORDER-RIGHT: #ff8200 0px dashed; BORDER-TOP: #ff8200 0px dashed; BORDER-LEFT: #ff8200 0px dashed; BORDER-BOTTOM: #ff8200 0px dashed; HEIGHT: 28px}"
				+ "	#toolkitN1 P {PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: 0px; MARGIN: 8px; VERTICAL-ALIGN: bottom; PADDING-TOP: 0px}"
				+ "	#toolkitN1 UL {PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: 0px; MARGIN: 0px 20px; PADDING-TOP: 0px}"
				+ "	#toolkitN1 LI {PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 6px}"
				+ "	#toolkitN2 {BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 2px; FONT-SIZE: 15px; PADDING-BOTTOM: 8px; MARGIN: 10px 2px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: #cccccc 1px solid}"
				+ "	#toolkitN0 {BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 2px; FONT-SIZE: 15px; PADDING-BOTTOM: 8px; MARGIN: 10px 2px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: #cccccc 1px solid; background-color:#EEEEEE; width:760px; text-align: left;}"
				+ "	#toolkitN3 {BORDER-RIGHT: #ff0000 0px solid; PADDING-RIGHT: 2px; BORDER-TOP: #ff0000 0px solid; PADDING-LEFT: 2px; FONT-SIZE: 15px; PADDING-BOTTOM: 8px; MARGIN: 2px; BORDER-LEFT: #ff0000 0px solid; PADDING-TOP: 2px; BORDER-BOTTOM: #ff0000 0px solid}"
				+ "	#toolkitN3 INPUT {PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px}"
				+ "	#toolkitN3 TD {HEIGHT: 10px}"
				+ "	#toolkitN3 P {BORDER-RIGHT: red 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: red 0px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 6px; BORDER-LEFT: red 0px solid; PADDING-TOP: 0px; BORDER-BOTTOM: red 0px solid}"
				+ "	.toolkitEtiqueta1 {PADDING-RIGHT: 5px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: 10px; PADDING-BOTTOM: 2px; VERTICAL-ALIGN: bottom; PADDING-TOP: 0px}"
				+ "	.toolkitEtiqueta2 {PADDING-RIGHT: 5px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: 3px; VERTICAL-ALIGN: bottom; PADDING-TOP: 0px}"
				+
				//nuevos
				"	.etiqueta1 {PADDING-RIGHT: 5px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: 12px; PADDING-BOTTOM: 2px; VERTICAL-ALIGN: bottom; PADDING-TOP: 0px}"
				+ "	.etiqueta2 {PADDING-RIGHT: 5px; PADDING-LEFT: 10px; FONT-SIZE: 12px; PADDING-BOTTOM: 2px; VERTICAL-ALIGN: bottom; PADDING-TOP: 0px}"
				+
				//fin nuevos
				"	.toolkitAviso {FONT-SIZE: 10px; COLOR: #ff0000; weight: : bold}"
				+ "	.toolkitCampo {PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; VERTICAL-ALIGN: bottom; PADDING-TOP: 0px; HEIGHT: 28px}"
				+ "	#toolkitCampo1 {BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: 0px; BORDER-LEFT: #cccccc 1px solid; COLOR: #1779ae; PADDING-TOP: 0px; BORDER-BOTTOM: #cccccc 1px solid; FONT-FAMILY: Verdana}"
				+ "	.toolkitCombo {BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: #cccccc 1px solid; CLIP: rect(0px 0px 0px 0px); COLOR: #1779ae; PADDING-TOP: 0px; BORDER-BOTTOM: #cccccc 1px solid; FONT-FAMILY: Verdana}"
				+ "	.toolkitRadio {BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px; PADDING-BOTTOM: 0px; MARGIN: 0px 5px; WIDTH: 12px; PADDING-TOP: 0px; HEIGHT: 12px; BORDER-RIGHT-WIDTH: 1px}"
				+ "	.toolkitCheck {BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px; PADDING-BOTTOM: 0px; MARGIN: 0px 5px; WIDTH: 12px; PADDING-TOP: 0px; HEIGHT: 12px; BORDER-RIGHT-WIDTH: 1px}"
				+ "	#toolkitBotones {BORDER-RIGHT: #ff0000 0px dashed; PADDING-RIGHT: 5px; BORDER-TOP: #ff0000 0px dashed; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 0px; BORDER-LEFT: #ff0000 0px dashed; PADDING-TOP: 5px; BORDER-BOTTOM: #ff0000 0px dashed; TEXT-ALIGN: center}"
				+ "	.toolkitBoton {FONT-SIZE: 10px; MARGIN: 5px; COLOR: #666666; FONT-FAMILY: Verdana, Arial; BACKGROUND-COLOR: #e8e8e8}"
				+ "	.toolkitDato {PADDING-RIGHT: 5px; PADDING-LEFT: 10px; FONT-SIZE: 10px; PADDING-BOTTOM: 2px; VERTICAL-ALIGN: bottom; PADDING-TOP: 0px}"
				+ "	#toolkitDoc {PADDING-RIGHT: 15px; BACKGROUND-POSITION: right bottom; PADDING-LEFT: 15px; BACKGROUND-IMAGE: url(../img/bckDoc.gif); PADDING-BOTTOM: 15px; MARGIN: 10px 40px; PADDING-TOP: 15px}"
				+ "	#toolkitDoc TD {FONT-SIZE: 9px; HEIGHT: 14px}"
				+ "	.flecha {COLOR: #1779ae}"
				+ "	.toolkitTablaDatos TD {PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 10px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px}"
				+ "	.toolkitTablaFila1 {BACKGROUND-COLOR: #e8e8e8}"
				+ "	.toolkitTablaFila2 {BACKGROUND-COLOR: #ffffff}"
				+ "	.toolkitTablaTitulo {FONT-WEIGHT: bold; COLOR: #ffffff; BACKGROUND-COLOR: #1779ae}"
				+ "	.toolkitCampoNuevo {PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: 2px; VERTICAL-ALIGN: bottom; COLOR: #1779ae; PADDING-TOP: 0px; FONT-FAMILY: Verdana}"
				+ "	.textoFirma {FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #1779ae; FONT-STYLE: italic}"
				+ "	.toolkitCampoArea {FONT-SIZE: 10px; COLOR: #666666; FONT-FAMILY: Verdana}"
				+ "   </style>"
				+ "</head>"
				+ "<body>"
				+ "	<div class='toolkitCuerpo'>"

				+ "		<br/><br/>"
//				Cabecera

					+ "		<h2 class='tkColor1 tkStyleBold toolkitEspVert_b10'>"+tit_datosCabecera+"</h2>"
					+ "		<div class='toolkitN2'>"
					+ "  			<h3>"+tit_TerritorioCabecera+"</h3>"
					+ "			<fieldset>"
					+ "						<label><span class='etiqueta1'><span class='flecha'>» </span></span><span class='etiqueta2'><xsl:value-of select=\"//body/detailInfo/cabecera/territorio\"/></span></label>"
					+ "			</fieldset>"
					+ "		</div>"
					+ "		<div class='toolkitN2'>"
					+ "  			<h3>"+tit_sindicato+"</h3>"
					+ "			<fieldset>"
					+ "						<label><span class='etiqueta1'><span class='flecha'>» </span></span><span class='etiqueta2'><xsl:value-of select=\"//body/detailInfo/cabecera/sindicato\"/></span></label>"
					+ "			</fieldset>"
					+ "		</div>"
					+ "		<div class='toolkitN2'>"
					+ "  			<h3>"+tit_CorrelativoFichero+"</h3>"
					+ "			<fieldset>"
					+ "						<label><span class='etiqueta1'><span class='flecha'>» </span></span><span class='etiqueta2'><xsl:value-of select=\"//body/detailInfo/cabecera/correlativoFichero\"/></span></label>"
					+ "			</fieldset>"
					+ "		</div>"
					+ "		<div class='toolkitN2'>"
					+ "  			<h3>"+tit_FechaCreacion+"</h3>"
					+ "			<fieldset>"
					+ "						<label><span class='etiqueta1'><span class='flecha'>» </span></span><span class='etiqueta2'><xsl:value-of select=\"//body/detailInfo/cabecera/fechaCreacion\"/></span></label>"
					+ "			</fieldset>"
					+ "		</div>";
					
					
					Iterator alIt = listaPreavisos.iterator(); 
					while (alIt.hasNext()) 
					{xsl += ((W83ASolicitudPreavisoDetalles)alIt.next()).getXSL("es", ctxPresentacion); }
					
					//Control
					xsl+= "		<h2 class='tkColor1 tkStyleBold toolkitEspVert_b10'>"+tit_datosControl+"</h2>"
					+ "		<div class='toolkitN2'>"
					+ "  			<h3>"+tit_NumeroPreavisos+"</h3>"
					+ "			<fieldset>"
					+ "						<label><span class='etiqueta1'><span class='flecha'>» </span></span><span class='etiqueta2'><xsl:value-of select=\"//body/detailInfo/control/numeroPreavisos\"/></span></label>"
					+ "			</fieldset>"
					+ "		</div>"
					+ "		<div class='toolkitN2'>"
					+ "  			<h3>"+tit_TotalCentrosAfectados+"</h3>"
					+ "			<fieldset>"
					+ "						<label><span class='etiqueta1'><span class='flecha'>» </span></span><span class='etiqueta2'><xsl:value-of select=\"//body/detailInfo/control/totalCentrosAfectados\"/></span></label>"
					+ "			</fieldset>"
					+ "		</div>"
					+ "		<div class='toolkitN2'>"
					+ "  			<h3>"+tit_TotalNumeroTrabajadores+"</h3>"
					+ "			<fieldset>"
					+ "						<label><span class='etiqueta1'><span class='flecha'>» </span></span><span class='etiqueta2'><xsl:value-of select=\"//body/detailInfo/control/totalNumeroTrabajadores\"/></span></label>"
					+ "			</fieldset>"
					+ "		</div>"
					+ "	</div>"					
					+ "</body>" 
					+ "</html>" 
					+ "</xsl:template>"
					+ "</xsl:stylesheet>";

				
			
		return xsl;
	}

*/	
/*
	public String getDetailInfo() {
		String detailInfo = "";

		detailInfo = "<cabecera>" + "\r\n" + "\t" 
		        + "<territorio>" + this.territorioCabecera	+ "</territorio>" + "\r\n" + "\t"
				+ "<sindicato>" + this.sindicato + "</sindicato>" + "\r\n" + "\t"
				+ "<correlativoFichero>" + this.correlativoFichero	+ "</correlativoFichero>" + "\r\n" + "\t" 
				+ "<fechaCreacion>" + this.fechaCreacion + "</fechaCreacion>" + "\r\n" 
				+ "</cabecera>"	+ "\r\n";

				Iterator alIt = listaPreavisos.iterator(); 
				while (alIt.hasNext()) 
				{try {
					detailInfo += ((W83ASolicitudPreavisoDetalles)alIt.next()).toXML()+"\r\n";
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} } 


		detailInfo +="<control>" + "\r\n" + "\t" 
				+ "<numeroPreavisos>" + this.numeroPreavisos + "</numeroPreavisos>" + "\r\n" + "\t"
				+ "<totalCentrosAfectados>" + this.totalCentrosAfectados	+ "</totalCentrosAfectados>" + "\r\n" + "\t" 
				+ "<totalNumeroTrabajadores>" + this.totalNumeroTrabajadores + "</totalNumeroTrabajadores>" + "\r\n" 
				+ "</control>"	+ "\r\n";

		return detailInfo;
	}*/

	private void actualizarlogitudes(){
		
		for (int i=ELEMENTOS_CABECERA;i<ELEMENTOS_CABECERA+ELEMENTOS_CONTROL;i++) 
		      {inicio[i]=inicio[i]+W83ASolicitudPreavisoDetalles.TAMAÑO_DETALLE;}
		
		
	}

		private static final String REGISTRO_DETALLE="2";
		private static final String REGISTRO_CABECERA="1";
        private static final String REGISTRO_CONTROL="3";
       // private static final int TAMAINO_CABECERA=18;
       // private static final int TAMAINO_CONTROL=23;
		
		private static final int ELEMENTOS_CABECERA=7; //cinco elementos mas 2 el salto de linea
		private static final int ELEMENTOS_CONTROL=4;
		private static final int[] longitud={1,2,3,3,8,1,1,1,3,9,9};
		private static final int NUMEROPOSICIONES =11;

		private static final int[] inicio= new int[NUMEROPOSICIONES];



		public String getCIFNIFPromotor() {
			return this.CIFNIFPromotor;
		}
		public void setCIFNIFPromotor(String promotor) {
			this.CIFNIFPromotor = promotor;
		}
		public String getCorrelativoFichero() {
			return this.correlativoFichero;
		}
		public void setCorrelativoFichero(String correlativoFichero) {
			this.correlativoFichero = correlativoFichero;
		}
		public String getEmailAviso() {
			return this.emailAviso;
		}
		public void setEmailAviso(String emailAviso) {
			this.emailAviso = emailAviso;
		}
		public String getFechaCreacion() {
			return this.fechaCreacion;
		}
		public void setFechaCreacion(String fechaCreacion) {
			this.fechaCreacion = fechaCreacion;
		}
		public ArrayList getListaPreavisos() {
			return this.listaPreavisos;
		}
		public void setListaPreavisos(ArrayList listaPreavisos) {
			this.listaPreavisos = listaPreavisos;
		}
		public String getNombrePromotor() {
			return this.nombrePromotor;
		}
		public void setNombrePromotor(String nombrePromotor) {
			this.nombrePromotor = nombrePromotor;
		}
		public String getNumeroPreavisos() {
			return this.numeroPreavisos;
		}
		public void setNumeroPreavisos(String numeroPreavisos) {
			this.numeroPreavisos = numeroPreavisos;
		}
		public String getProvinciaEs() {
			return this.provinciaEs;
		}
		public void setProvinciaEs(String provinciaEs) {
			this.provinciaEs = provinciaEs;
		}
		public String getProvinciaEu() {
			return this.provinciaEu;
		}
		public void setProvinciaEu(String provinciaEu) {
			this.provinciaEu = provinciaEu;
		}
		public String getSindicato() {
			return this.sindicato;
		}
		public void setSindicato(String sindicato) {
			this.sindicato = sindicato;
		}
		public String getTerritorioCabecera() {
			return this.territorioCabecera;
		}
		public void setTerritorioCabecera(String territorioCabecera) {
			this.territorioCabecera = territorioCabecera;
		}
		public String getTotalCentrosAfectados() {
			return this.totalCentrosAfectados;
		}
		public void setTotalCentrosAfectados(String totalCentrosAfectados) {
			this.totalCentrosAfectados = totalCentrosAfectados;
		}
		public String getTotalNumeroTrabajadores() {
			return this.totalNumeroTrabajadores;
		}
		public void setTotalNumeroTrabajadores(String totalNumeroTrabajadores) {
			this.totalNumeroTrabajadores = totalNumeroTrabajadores;
		}
		
}

